home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d7
/
gets15.arc
/
DISKETTE.IMG
/
lha
/
USER.DOC
< prev
next >
Wrap
Text File
|
1991-05-29
|
74KB
|
2,363 lines
##### ######## ######### ######
# # # # # # Graphically Enhanced
# # # # # Terminal Software
# # # #
# ###### # ###### Version 1.5
# ##### # # #
# # # # #
# # # # # #
##### ######## # ####### 1991 Snafu Software
Send all Questions or Comments to:
( -- By U.S. Mail -- ) ( -- By Modem -- )
Scott C. Duensing The Snafu Software BBS
312 Las Olas Drive 300 to 38,400 Baud
Belleville, Illinois 24 Hours a Day, 7 Days a Week
Zip: 62221 (618) 234-2631
( -- Via the WWIVNet Network -- ) ( -- GETS Support Board -- )
E-mail ID#: 1 @6852 SubType 26852, Host 6852
Second Revision
GETS Copyright 1991 Scott C. Duensing
All Rights Reserved.
1991 Snafu Software.
The Author Would Like to Thank the Following People:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ted Kocot for his never ending "Why don't you add..."
Terri Irvin for her "Finish that thing before it kills us both!"
Jack Erdmann for help with creating the registered version packaging.
The countless BETA testers who helped smash the numerous bugs.
Queensryche for their "Operation: Mindcrime" to help keep boredom away.
Everyone who encouraged me during the times it seemed I would never finish.
COPYRIGHT NOTICE
~~~~~~~~~~~~~~~~
THIS PRODUCT IS SHAREWARE, IT IS NOT FREE! PLEASE SUPPORT SHAREWARE BY
SENDING THE REQUESTED $25.00 REGISTRATION FEE TO SCOTT C. DUENSING. BY
SUPPORTING SHAREWARE YOU HELP KEEP SOFTWARE PRICES LOW. IF YOU FIND THIS
SOFTWARE USEFUL YOU ARE REQUIRED TO PAY FOR IT, OTHERWISE, PASS IT ALONG!
GETS IS DISTRIBUTED "AS IS". THERE IS NO WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED. NEITHER SCOTT C. DUENSING NOR SNAFU SOFTWARE ASSUME
ANY RESPONSIBILITY FOR ANY DAMAGES INCURRED WHILE USING THIS SOFTWARE. THE
USER OF THIS SOFTWARE WILL ASSUME ALL RESPONSIBILITY FOR ANY AND ALL
DAMAGES RESULTING FROM THE USE AND/OR MISUSE OF THIS SOFTWARE.
YOU MAY DISTRIBUTE GETS FREELY TO BBS SYSTEMS, USER GROUPS, DISK
DISTRIBUTORS, PRIVATE USERS, OR ANY ORGANIZATION THAT MAY WISH IT. GETS
MAY BE DISTRIBUTED IN AN UNMODIFIED AND COMPLETE FORM ONLY. IT IS ILLEGAL
TO DECOMPILE, DISSASSEMBLE, OR OTHERWISE REVERSE ENGINEER THIS SOFTWARE.
IT IS ILLEGAL TO DISTRIBUTE MODIFIED OR INCOMPLETE COPIES OF THIS SOFTWARE.
YOU MAY NOT DISTRIBUTE GETS, OR ANY PART OF GETS, AS PART OF ANOTHER
PROGRAM OR PRODUCT WITHOUT PRIOR WRITTEN CONSENT OF SCOTT C. DUENSING.
LICENSE NOTICE & SUPPORTED PRODUCTS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
THE DRIVER USED WITHIN THIS PROGRAM ("DIGITAL1.EXE") IS LICENSED WITH
PERMISSION FROM COVOX, INC. "DIGITAL1.EXE" WAS ORIGINALLY NAMED "SAY.EXE"
BUT WAS RENAMED FOR CONSISTENCY WITH THE EXISTING GETS FILES. COVOX SOUND
AND REGONITION SYSTEMS MAY BE OBTAINED FROM:
COVOX, INC.
675-D CONGER STREET
EUGENE, OR 97402
GETS ALSO FULLY SUPPORTS THE SOUND BLASTER. YOU MAY OBTAIN ONE FROM:
CREATIVE LABS, INC.
131 SOUTH MAPLE AVENUE #6
SOUTH SAN FRANCISCO, CA 94080
WITH AN ADLIB MUSIC SYNTHESIZER CARD, GETS WILL PLAY ENHANCED FM MUSIC.
THE ALMSC IS AVAILABLE FROM:
ADLIB, INC.
50 STANIFORD STREET
SUITE 800
BOSTON, MA 02114
GETS System Requirements:
~~~~~~~~~~~~~~~~~~~~~~~~~
* MS-DOS Compatible Computer System (XT, AT, 386, 486, or faster)
* Graphics Card
* Modem on COM1 or COM2
* 512k RAM
Highly Recommended:
~~~~~~~~~~~~~~~~~~~
* Color Monitor and Graphics Card
* Hard Drive
* 640k
* Creative Lab's "Sound Blaster" or Covox's "Sound Master II"
(AdLib and other Covox devices also supported)
* 80286 or faster processor
Welcome to GETS, Snafu Software's Graphically Enhanced Terminal Software.
With GETS, a BBS program can control almost any function of the remote
computer system - Graphics, Sound, Text, Diskettes, almost anything!
Current BBS games & programs can be easily converted to GETS enhanced
software, and new software written for GETS will allow never before
imagined capabilities to be included into online games and utilities.
Imagine games with digitized sound and high resolution graphics - tutorials
that can show accurate examples over a modem - anything "local" software
can accomplish, GETS can perform while online.
GETS runs from within your existing terminal program, there is no need to
learn new software. If your software won't accept an external program,
GETS can be used as a stand-alone terminal.
GETS is an open-ended program; if there is a command that a programmer
needs to complete a program, it can be added without any modifications to
the GETS software itself. "External Commands" can be written in any
language (even in DOS batch files).
Even with the great power the BBS program author now has, the user is
protected from a BBS destroying their disk drive or any other portion of
their system.
This manual will cover the installation of GETS into existing terminal
software, use of GETS in Terminal mode and in GETS mode, and several of the
GETScript programming concepts including a full list of GETScript commands.
For more information on anything not covered in this manual, we recommend
that you request your SysOp to subscribe to the following WWIVNet sub:
GETS Support Network SubType 26852, Host 6852
INSTALLING GETS
~~~~~~~~~~~~~~~
This manual assumes that you have a working knowledge of both DOS and
your current terminal software and how to configure and use it. GETS has
been successfully installed and run with Procomm 2.4.2, Procomm Plus 1.0,
Telix, and QModem.
GETS requires 600k free on the drive it is being installed to. While
GETS itself dose not occupy 600k, the extra space is needed for temporary
files used while unpacking the GETS programs from the distribution disk or
archive. If you are using a floppy only system (no hard drive) and do not
have a 3.5" disk drive or a high-density disk drive, you will need to use
another computer to install and unpack the files - ask a friend or your
local dealer for assistance.
If you received GETS on diskette, simply type INSTALL from the GETS
diskette to begin the install process. GETS will check your system and
unpack and copy itself to the directory of your existing terminal software.
Follow the on screen instructions to install and configure GETS. Keep in
mind while installing that the defaults offered by INSTALL and SETUP are
not necessarily available in your system. They are provided as general
suggestions and will probably need to be changed to fit your system.
If you received GETS in an archive you will need to unpack the archive
to a floppy diskette before installing GETS. Once unpacked, simply type
INSTALL from the GETS diskette to begin the install process. GETS will
check your system and unpack and copy itself to the directory of your
existing terminal software. Follow the on screen instructions to install
and configure GETS. Keep in mind while installing that the defaults
offered by INSTALL and SETUP are not necessarily available in your system.
They are provided as general suggestions and will probably need to be
changed to fit your system.
For more information on configuring GETS to work with your system,
see the appendix on configuration.
Once GETS has been installed and configured, it needs to be added to
your terminal program. Almost all terminal programs offer support for
external protocols, and most support either "hot keys" or external editors
and/or file viewers. GETS should be installed as a file viewer or editor
whenever possible and a protocol only as a last resort. If your software
does not support any of the above, you can use a "DOS Shell" to access
GETS. Programs such as QModem and Procomm have the ability to exit to DOS
and return to where they left off when you type EXIT from DOS. By using
a "shell" of this type, you can run GETS from DOS and then EXIT back to
your normal terminal when finished.
INSTALLING GETS (Cont.)
~~~~~~~~~~~~~~~~~~~~~~~~
The command line options for GETS are as follows:
GETS [baudrate] [databits] [parity] [stopbits]
Legal values for the parameters are as follows:
[baudrate]: 75, 110, 300, 1200, 1800, 2400,
9600, or 19200.
[databits]: 5, 6, 7, or 8.
[parity]: N, E, O, S, or M.
(None, Even, Odd, Space, or Mark.)
[stopbits]: 1, 1.5, or 2.
For example, to load GETS with a 2400 baud modem, use the following:
GETS 2400 8 N 1
To integrate GETS into your existing terminal software, add a line
similar to the one above into your terminal programs external editor or
external protocol section. Now to call GETS, invoke the command that
calls the editor or protocol and you're in GETS!
Many terminal programs have the ability to pass communications
parameters to external programs. If your software has this ability, you
can have your software insert the correct baud rate into the GETS command
line - helpful for people who use more than one modem speed.
FLOPPY USERS - GETS may not be able to handle the slow speed of a floppy
~~~~~~~~~~~~ diskette reliably for some modems. If this happens and the
modem buffer and I/O buffers do not seem to help, create a
15k-25k RAM disk using the DOS VDISK.SYS or RAMDRIVE.SYS
programs. Use the RAM disk for GETS's temporary files.
Any time you wish to change the current GETS setup parameters, simply type
SETUP from your terminal program directory.
USING GETS
~~~~~~~~~~
Once in GETS, you have only a handful of commands to remember. Below
is a listing of GETS commands:
[F1] - Help! [F1] will display a help menu that lists the
commands available to you while in GETS and several
addresses where you can contact us at Snafu Software.
[Up Arrow] - Scrollback. Pressing the up arrow key will enter
scrollback mode where you can view text that has scrolled
off the screen. The dashed red line shows where the end
and the beginning of the scrollback buffer meet. Unlike
most programs that support scrollback, GETS allows you to
scroll from the bottom of the buffer to the top by going
"off the end" of the buffer. Picture GETS's scrollback
as a loop of paper that has the ends connected rather
than as a piece of paper that has a top and a bottom.
[ALT]-[C] - Configure. [ALT]-[C] will show the configuration screen.
All options currently in use are displayed on this screen.
[ALT]-[Q] - Reset Terminal. [ALT]-[Q] will reset the GETS terminal to
standard ANSI Terminal mode. [ALT]-[Q] will abort any
GETScript program that may be running and will also
clear the screen.
[ALT]-[X] - Exit GETS. [ALT]-[X] exits from GETS to the calling
program or to DOS.
GETS will automatically sense incoming GETScript programs and act
accordingly (either by caching the file or switching to GETSLaunch mode).
PROGRAMMING IN GETSCRIPT
~~~~~~~~~~~~~~~~~~~~~~~~
GETScript, the enhanced control language of GETS, can be used by anyone -
you do not need to be an expert programmer to harness the power of GETS!
While GETScript is not as easy to read as some programming languages, it is
short and sweet which means fast transmission times over a modem. For
those of you that are programmers, we worked hard to keep GETScript as
compatible to BASIC as we could - color values, screen coordinates, even
the play music and draw commands use the same syntax. For you newcomers
to programming, this guide will explain the basics of programming in
GETScript.
TWO LANGUAGES?
~~~~~~~~~~~~~~
Well, no, not really. Due to the length of time some GETS commands wait
for input, some sort of command pacing was needed to keep commands from
literally running into each other as they were being sent by the BBS to
GETS. This problem resulted in two separate GETS control methods. One is
called GETSLaunch, and the other GETSFly. GETSLaunch is the most powerful
of the two, but requires the use of a true programming language to access
it. While GETSFly was designed to be as easy to us as ANSI graphics
are today, GETSLaunch was not. Programmers wishing to harness the full
power of GETS will want to use GETSLaunch while beginning programmers will
want to use GETSFly. Both use the same commands, the same syntax, and the
same software (GETS), but GETSLaunch acts more like a file transfer
protocol than a scripting language. When a GETSFly file is transmitted
from the BBS, GETS captures it to disk and then replays it when there is
time. With GETSLaunch, you can send interactive commands across the modem
and GETS will execute them as soon as they are received allowing for true
arcade style games and online tutorials. GETSLaunch requires that several
pacing rules be followed and that a special set of pacing characters be
used. The details of GETSLaunch programming are beyond the scope of this
manual; any programmer wishing to use GETSLaunch should contact Snafu
Software - a separate GETSLaunch programming guide is available.
THE BASICS OF GETSCRIPT
~~~~~~~~~~~~~~~~~~~~~~~
GETScript commands are currently divided up into three "modes" in two
categories. The two main categories are INTERNAL and EXTERNAL commands.
Internal commands are built into GETS while external commands need to
access DOS (load an external program) to be used. Keep in mind that
external commands are not supported by unregistered versions of GETS.
The three modes are TEXT, GRAPHICS, and DUAL. Commands listed as TEXT will
not work in GRAPHICS, and GRAPHICS commands will not work in TEXT modes.
A command that is DUAL MODE will work in either TEXT or GRAPHICS modes.
GETScript is not as complex as a language like Pascal or C. The main
requirement is that a maximum of one GETScript command be placed on each
line. Lines are separated by a carriage return placed at the end of each
line (a carriage return is created by pressing the [ENTER] key). Any text
editor or word processor that is capable of creating straight ASCII files
may be used to create GETScript programs.
While entering GETScript commands, keep in mind that most BBS systems will
limit a line of text to 80 characters in length. While this is not a
problem with normal messages, it will cause problems with GETScript. GETS
determines the end of a command by the presence of a carriage return at the
end of the line. If the BBS "word wraps" the script, carriage returns will
be placed into the GETScript in places they should not be. This will cause
GETS in incorrectly determine the end of the command that was wrapped, and
strange things will occur. To fix this problem, GETS offers a way to
continue a command over multiple lines. If your command is going to run
over the line length of the BBS you are using, add an underscore ("_") to
the end of the line and continue on the next. For example,
PRThis command is too long so _
we will use two lines.
would produce on the screen:
This command is too long so we will use two lines.
A safe maximum line length to use is 65 characters. When breaking a line
into multiple parts, be sure that the line(s) following the underscore do
not start with a space. In the above example, if we use the following,
PRThis command is too long so_
we will use two lines.
it would produce on the screen:
This command is too long sowe will use two lines.
Note how the words "sowe" are run together. GETS will "trim" the ends of
any command line it parses. For example, the line " OD Testing! " will
be processed by GETS as "OD Testing!". For this reason, place all spaces
before the underscore, not on the beginning of the following line.
THE BASICS OF GETSCRIPT (cont.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GETScript commands are made up of a two letter (or symbol) command that is
usually followed by a series of parameters, or arguments. GETScript
commands can be entered in either upper or lower case, and can be spaced
in any way that makes sense. Parameters are separated by a vertical bar
known as a "pipe" symbol ("|"). The following GETScript example displays
"Welcome to GETS!" inside a shadowed box in EGA (this example is included
on disk with the GETS program).
## This is a sample GETScript file that will display WELCOME TO GETS!
## in a shadowed box on an EGA display.
## First, turn on High-Resolution EGA...
sm9
## Draw a blue box to turn the screen blue...
co1|0
fb0|0|639|349
## Draw the shadow for the box in dark grey...
co8|0
fb239|126|403|159
## Now draw a box in light grey to contain the text...
co7|0
fb229|116|393|149
## Move the cursor to 32,10 and display message in red on white...
xy32|10
co4|7
prWelcome to GETS!
## Draw a border for the screen in white...
co15|7
hb0|0|639|349
## Wait for the user to press any key...
wk~
## Return system to normal and shutdown GETS...
ud
eg
THE BASICS OF GETSCRIPT (cont.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To test a script from DOS, start GETS with an additional command line
parameter, the filename of the script. For example, to test a file named
EXAMPLE.GET, enter the following:
GETS 2400 8 N 1 EXAMPLE.GET
To use a script on a BBS system, you must begin the script file with a
"launch string" that tells GETS when to use incoming information as GETS
commands. The current launching string is:
GETSFly1.0B
Be sure to use the string exactly as shown above or GETS will not recognize
it. Also be sure to follow the launch string by at lease one blank line to
give GETS a second to switch over into GETS mode (screen initialization
takes some time depending on which video card you use).
While running GETScript files from DOS, GETS will "trace" the file for
errors. Any errors that are found will cause GETS to beep. The line that
contained the error will be written to a text file called ERRORS, along
with the number of the line. A sample ERRORS file looks like this:
--- Syntax Error in Line #10 ---
# Draw the shadow for the box in dark grey...
--- Syntax Error in Line #22 ---
bh0|0|639|349
Notice the missing "#" in line 10 and the transposed "hb" in line 22. If
you are debugging a GETS program that calls other GETScript files (such as
clip art files) using the RF (READ FROM) command, remember that the line
numbers refer to when the command was processed, not where it exists in the
GETScript file. For example, if a GETScript runs for 3 lines, then calls
a 5 line clip art file, runs for 2 more lines, and then crashes, the error
will be in line 12 because it was the 12th line processed, not in line 7
of the file it exists in. The ERRORS file will be deleted the next time
you run GETS (or replaced with a new listing of errors).
GETS also supports a "debug" mode. See the command DB (DEBUG) for more
information on debugging a script while running.
The rest of this manual, with the exceptions of some of the appendix
sections, contains a listing of GETS commands and information about them.
GETSPREP
~~~~~~~~
Included with GETS since release 1.5 is a utility called GETSPrep. After
creating a GETScript file, it is a good idea to run GETSPrep on it to
prepare it for use with a BBS. GETSPrep will add a hidden GETS launch
string to the beginning of the file that will not be seen by the user when
it is transmitted to GETS. It will also compress the file by removing
comments, blank lines, and unneeded spaces in GETScript commands. After
compressing the file, GETSPrep will truncate it to 65 characters for
uploading to a BBS. To run GETSPrep on a GETScript file, enter the
following at a DOS prompt:
GETSPREP [filename]
Where [filename] is the name of the file to compress.
By using GETSPrep, a programmer may format a GETScript file any way they
wish and easily convert it to a compact version for use on a BBS.
CLIP ART
~~~~~~~~
Clip Art files for GETS are simply GETScript files that contain nothing
but drawing commands. Clip Art files may not contain ANY screen
statements, debug commands, or exit GETS commands. By using clip art
files, a programmer may use the same object several times by using the RF
command.
FILENAMES
~~~~~~~~~
When programming in GETScript, we recommend that the following filename
conventions be used to help avoid confusion:
*.GET - A GETScript file that has been run through GETSPrep.
*.GSC - A raw GETScript file (GETS Source Code).
*.GCA - A GETS Clip Art file.
*.VOC - Digital Sound Files (Creative Lab's Format).
*.MDI - FM Sound File (AdLib MIDI Format).
## COMMENTS (##)
~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: To place remarks within a GETScript file.
Syntax: ##[text]
Example: ## This is a comment!
Parameters: [text] Any string of characters.
Use comments to place notes in a GETScript file. Comments greatly increase
readability of GETScript code and can be used to "comment out" sections of
a GETScript while debugging.
Arc Circle (AC)
~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a circular arc.
Syntax: AC<x>|<y>|<r>|<s>|<e>
Example: AC100|100|30|10|50
Parameters: <x> X coordinate for the center of the arc.
<y> Y coordinate for the center of the arc.
<r> Radius from center to top of the circle forming the arc.
<s> Starting angle. See below.
<e> Ending angle. See below.
AC draws a circular arc from angle <s> to angle <e>. Angles are as
follows:
090
|
|
180 --+-- 000
|
|
270
If <s> or <e> are negative, lines will be drawn connecting the negative
angle to the center of the arc. By making both angles negative, a pie
slice can be drawn.
ARC ELLIPTICAL (AE)
~~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw an elliptical arc.
Syntax: AE<x>|<y>|<r>|<s>|<e>|<a>
Example: AE100|100|30|10|50|1.5
Parameters: <x> X coordinate for the center of the arc.
<y> Y coordinate for the center of the arc.
<r> Radius. See below.
<s> Starting angle. See below.
<e> Ending angle. See below.
<a> Aspect ratio. See below.
AE draws an elliptical arc from angle <s> to angle <e>. Angles are as
follows:
090
|
|
180 --+-- 000
|
|
270
If <s> or <e> are negative, lines will be drawn connecting the negative
angle to the center of the arc. By making both angles negative, a pie
slice can be drawn.
Aspect determines the shape of the arc. The aspect is expressed as a
ratio of the Y axis to the X axis. If the value for <a> is less than
one, the radius refers to the X axis. If <a> is greater than one, the
radius refers to the Y axis.
BAR PRINT (BP)
~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Display a message centered in a colored bar.
Syntax: BP[message]
Example: BPThis is neat!
Parameters: [message] Is any string to be printed.
BP displays a message centered on the screen in the current colors. The
text will be printed in the current foreground color while the background
of the letters is in the current background color.
CALL DOS (CD)
~~~~~~~~~~~~~~
Group: DUAL MODE, EXTERNAL
Use: Call an external DOS command or program.
Syntax: CD[command]
Example: CDdir c:\gets\*.get /w
Parameters: [command] Any legal DOS command or program name.
CD is used to call external DOS commands and programs into a GETScript
program. CD is an external command and is not available in unregistered
versions of GETS. CD is the gateway to GETS's infinite expandability. If
a command that is needed is not available within the GETS internal command
set, a programmer may add it by building a program, or external command
library, that does the job. For example, a library may be named EXTRAS
and could contain a command called LV that would load a VGA picture and
display it to the monitor. LV needs a filename such as PHOTO.GIF to load
so the external command line would be: CDextras LVphoto.gif. The program
EXTRAS needs to then parse the command line ("LVphoto.gif") and act upon
it by loading the picture. With this gateway, an external command may
be added without the need to recompile or reprogram GETS. Due to the great
power the programmer now has, many people fear that a "CDformat c:" could
be sent through GETS and the user would never know it until it was too
late. By setting the DOS MODE in SETUP to NERVOUS instead of NORMAL, GETS
will request permission before executing any commands that need DOS
(including PLAY ADLIB and PLAY DIGITAL). When a DOS command is requested
in NERVOUS mode, a dialog will appear and ask whether or not the command
requested is allowed to proceed--if so, it runs, otherwise it is skipped.
CARRIAGE RETURN (CR)
~~~~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Insert a carriage return into a displayed line.
Syntax: CR
Example: CR
Parameters: * NONE *
CR inserts a carriage return into a displayed line of text. The text
cursor is moved to the next line and back to column 1 (leftmost position).
If the cursor moves below the bottom of the screen, the screen will scroll
to allow for more room at the bottom.
CLEAR CLIPBOARD (CC)
~~~~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: To free RAM used by the 10 clipboards.
Syntax: CC<c>
Example: CC2
Parameters: <c> The clipboard to clear, or -1 for all clipboards.
CC releases memory taken by the clipboards when copying images. <c> is the
clipboard to clear, or use -1 to clear all clipboards at once. Unless you
are going to use an image later in a GETScript file, it is a good idea to
clear the clipboard the image uses as soon as it is pasted back to the
screen.
CLEAR SCREEN (CS)
~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Clear screen to current background color.
Syntax: CS
Example: CS
Parameters: * NONE *
CS clears the current active display page to the current background color.
CLOSE WINDOW (CW)
~~~~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Closes last opened window.
Syntax: CW
Example: CW
Parameters: * NONE *
CW will close the last window opened. See OPEN WINDOW for more
information.
COLOR (CO)
~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Set current foreground and background colors.
Syntax: CO<fc>|<bc>
Example: CO15|1
Parameters: <fc> Foreground color.
<bc> Background color.
CO changes the current foreground and background printing and plotting
colors. CO has no effect on the color set and/or used in DRAW commands.
COPY IMAGE (CI)
~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Copy a portion of the screen to RAM.
Syntax: CI<x1>|<y1>|<x2>|<y2>|<c>
Example: CI10|10|35|20|1
Parameters: <x1> Upper left X coordinate.
<y1> Upper left Y coordinate.
<x2> Lower right X coordinate.
<y2> Lower right Y coordinate.
<c> Clipboard to copy to.
CI will copy a rectangular portion of the screen to RAM. The size of the
screen image that can be cut depends on available system RAM and the
graphics mode being used. You may cut up to ten images at one time, one
per clipboard. Values for <c> are 0 through 9, inclusive. Each clipboard
uses a fair amount of RAM to store an image (especially with 256 colors),
so it is a good idea to use only as many clipboards as needed to get the
task done. Free up clipboard memory whenever possible with the CLEAR
CLIPBOARD command.
CURSOR OFF (C0)
~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Make the text cursor invisible.
Syntax: C0
Example: C0
Parameters: * NONE *
C0 hides the text cursor from view.
CURSOR ON (C1)
~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Make the text cursor visible.
Syntax: C1
Example: C1
Parameters: * NONE *
C1 displays the text cursor on the screen at the current text cursor
position.
DEBUG (DB)
~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draws a set of crosshairs to assist in finding points.
Syntax: DB
Example: DB
Parameters: * NONE *
DB displays a set of crosshairs that can be moved around the screen using
the cursor keys. Debug is helpful for finding points on the screen while
drawing. Commands while debugging are:
[Cursor Keys] - Move cursor around screen.
[1] to [9] - Change the stepping speed of the cursor.
[ENTER] - Display coordinates of cursor and plot a dot
at the current cursor coordinates.
[ESC] - Exit Debug mode and resume GETScript.
DB will destroy most GETS values such as screen scale and screen offset.
Make sure that the current viewing page and the current active page are the
same before you issue a DB command or the debug cursor will not be visible.
Also be sure to set the drawing color and the current color to values that
can been seen on the background you are editing. DB has no effect when you
run a GETScript online - it is only functional when running a script from
the DOS command line. For additional debugging, see the EXECUTION SPEED
command.
DELAY (DL)
~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Pause the execution of a GETScript.
Syntax: DL<s>
Example: DL1.5
Parameters: <s> Number of seconds to pause.
DL pauses the execution of a GETScript for <s> seconds or until a key is
pressed by the user. For an alternate delay command, see EXECUTION SPEED.
DRAW (DC)
~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a shape at any angle or scale.
Syntax: DC[command]
Example: DCs4c15bm100,100u10r10d10l10
Parameters: [command] is a draw macro command.
DC is used to draw a complex shape that needs to be scaled or rotated. The
drawing macro language is compatible with the GWBASIC syntax for the DRAW
command. Drawing commands are as follows:
B - Precedes a drawing command. Moves cursor without drawing.
N - Precedes a drawing command. Returns cursor to original
position after drawing.
Mx,y - Draw to x,y (absolute).
M+x,y - Draw to +x and +y (relative).
M-x,y - Draw to -x and -y (relative).
Ux - Draw up x units.
Dx - Draw down x units.
Rx - Draw right x units.
Lx - Draw left x units.
Ex - Draw up and right x units.
Fx - Draw down and right x units.
Gx - Draw down and left x units.
Hx - up and left x units.
Tx - Rotate to x where x is between 0 and 3 (90 degrees each).
TAx - Rotate to x degrees.
Sx - Set scale factor. Default scale (1 unit = 1 pixel) is 4.
Cx - Set color to x.
Px,y - Fill area (paint) with color x until it hits color y.
DC has the ability to draw, rotate, and scale shapes. By using DC to
create images, a programmer may then rotate the image to any angle or scale
the image to any size. The SET SCALE and SET OFFSET commands have no
effect on DRAW. The color set by COLOR is not used in a DRAW command, DRAW
must have the color set within the drawing macro. Any options such as
rotation, color, and scale that are set in a previous DRAW command are
remembered until they are changed by another DRAW statement. It is a good
idea to begin each script that will contain a drawing macro with a command
that will reset the drawing macro to defaults (DCs4c15ta0bm0,0).
END MACRO (EM)
~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: End a macro definition started with MM (MAKE MACRO).
Syntax: EM
Example: EM
Parameters: * NONE *
EM should be placed at the end of all macro definitions to signal the end
of the macro being defined. See MAKE MACRO and USE MACRO.
EXECUTION SPEED (XS)
~~~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Slow down the execution of a script file.
Syntax: XS<s>
Example: XS0.2
Parameters: <s> Number of seconds to pause between commands.
XS is an alternative to using multiple DL (DELAY) commands. For example,
if XS is set to 0.2, GETS will pause for 0.2 seconds between each GETScript
command. Useful for slowing down fades & wipes. XS is also helpful when
debugging. Setting XS to 0.5 slows the script down enough to watch each
command be executed one at a time to find the problem.
EXIT GETS MODE (EG)
~~~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Exit GETS mode to Terminal mode.
Syntax: EG
Example: EG
Parameters: * NONE *
EG will exit the current GETScript and return to Terminal mode. All
GETScript files must end with an EG command.
FILL (FI)
~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Fill a shape with color.
Syntax: FI<fc>|<bc>|<x>|<y>
Example: FI7|8|320|175
Parameters: <fc> Fill color. Object will be filled with this color.
<bc> Border color. Object will be filled until this color
is hit. Use color <bc> to mark off areas to be filled.
<x> X coordinate of fill starting point.
<y> Y coordinate of fill starting point.
FI will fill an object with color <fc> until it reaches a boundary drawn in
color <bc>. Fill will also quit filling if it finds nothing to do, such as
filling an area with a color that already exists within that area. If FILL
seems to be incorrectly filling an object, fill the object twice: once with
a color that is unused in that section of the picture, and again with the
desired color.
FILLED BOX (FB)
~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a box filled with the current color.
Syntax: FB<x1>|<y1>|<x2>|<y2>
Example: FB10|15|75|80
Parameters: <x1> Upper left X coordinate.
<y1> Upper left Y coordinate.
<x2> Lower right X coordinate.
<y2> Lower right Y coordinate.
FB draws and fills a box at the specified screen location. The color of
the box will be the current color.
FILLED CIRCLE (FC)
~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a circle and fill it with the current color.
Syntax: FC<x>|<y>|<r>
Example: FC320|175|50
Parameters: <x> X coordinate of center of circle.
<y> Y coordinate of center of circle.
<r> Radius of circle, measured from center to top of circle.
FC will draw a filled circle with a center at (<x>,<y>) and a radius of <r>
that is filled with the current color.
FILLED ELLIPSE (FE)
~~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw an ellipse filled with the current color.
Syntax: FE<x>|<y>|<r>|<a>
Example: FE100|200|30|1.2
Parameters: <x> X coordinate of the center of the ellipse.
<y> Y coordinate of the center of the ellipse.
<r> Radius. See below.
<a> Aspect ratio. See below.
FE draws an ellipse filled in the current color. The aspect ratio
determines the shape of the ellipse. The aspect is expressed as a ratio
of the Y axis to the X axis. If the value for <a> is less than one, the
radius refers to the X axis. If <a> is greater than one, the radius refers
to the Y axis.
FILLED POLYGON (FP)
~~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a polygon filled with the current color.
Syntax: FP<x1>|<y1>|<x2>|<y2>|<x3>|<y3>| ... |<xn>|<yn>
Example: FP100|10|190|100|10|100
Parameters: <x1> First X coordinate.
<y1> First Y coordinate.
<x2> Second X coordinate.
<y2> Second Y coordinate.
<x3> Third X coordinate.
<y3> Third Y coordinate.
.
.
.
<xn> Nth X coordinate.
<yn> Nth Y coordinate.
FP draws a filled polygon in the current color. The polygon is defined by
a series of points given in (x,y) coordinates. The last coordinate given
will automatically be connected to the first, closing the polygon. Any
number of points may be used. The coordinate used for the fill is the
average of all the points used in the polygon, therefore it is possible
that the fill point will land outside the polygon and flood the screen. If
the image floods, use the HOLLOW POLYGON command and manually set the fill
point using FILL.
HOLLOW BOX (HB)
~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a box in the current color.
Syntax: HB<x1>|<y1>|<x2>|<y2>
Example: HB10|15|75|90
Parameters: <x1> Upper left X coordinate.
<y1> Upper left Y coordinate.
<x2> Lower right X coordinate.
<y2> Lower right Y coordinate.
HB draws a hollow box at the specified screen location in the current
color.
HOLLOW CIRCLE (HC)
~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a circle in the current color.
Syntax: HC<x>|<y>|<r>
Example: HC250|75|50
Parameters: <x> X coordinate of center of circle.
<y> Y coordinate of center of circle.
<r> Radius of circle, measured from center to top of circle.
FC will draw a hollow circle with a center at (<x>,<y>) and a radius of <r>
using the current color.
HOLLOW ELLIPSE (HE)
~~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw an ellipse.
Syntax: HE<x>|<y>|<r>|<a>
Example: HE100|200|30|1.2
Parameters: <x> X coordinate of the center of the ellipse.
<y> Y coordinate of the center of the ellipse.
<r> Radius. See below.
<a> Aspect ratio. See below.
HE draws an ellipse. The aspect ratio determines the shape of the ellipse.
The aspect is expressed as a ratio of the Y axis to the X axis. If the
value for <a> is less than one, the radius refers to the X axis. If <a> is
greater than one, the radius refers to the Y axis.
HOLLOW POLYGON (HP)
~~~~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a polygon in the current color.
Syntax: HP<x1>|<y1>|<x2>|<y2>|<x3>|<y3>| ... |<xn>|<yn>
Example: HP10|10|190|10|100|100
Parameters: <x1> First X coordinate.
<y1> First Y coordinate.
<x2> Second X coordinate.
<y2> Second Y coordinate.
<x3> Third X coordinate.
<y3> Third Y coordinate.
.
.
.
<xn> Nth X coordinate.
<yn> Nth Y coordinate.
HP draws a polygon in the current color. The polygon is defined by a
series of points given in (x,y) coordinates. The last coordinate given
will automatically be connected to the first, closing the polygon. Any
number of points may be used.
LINE (LN)
~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Draw a line in the current color.
Syntax: LN<x1>|<y1>|<x2>|<y2>| ... |<xn>|<yn>
Example: LN10|10|300|20
Parameters: <x1> First X coordinate.
<y1> First Y coordinate.
<x2> Second X coordinate.
<y2> Second Y coordinate.
.
.
.
<xn> Nth X coordinate.
<yn> Nth Y coordinate.
LN draws a line from (<x1>,<y1>) to (<x2>,<y2>) to (<xn>,<yn>) in the
current color. Any number of points may be used.
LINE INPUT (LI)
~~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Read a line of text from the keyboard.
Syntax: LI<m>
Example: LI79
Parameters: <m> The mode or length to use. See below.
LI reads a line of text from the keyboard and returns it to the BBS. The
value of <m> determines how LI will act and how many characters LI will
accept. Values for <m> are as follows:
-1 - Read one keypress without waiting for a carriage
return from the user.
0 - Read one keypress "on the fly". If there is no
key being pressed, nothing is returned.
1 to 80 - Read 1 to 80 characters from the keyboard and
wait for a carriage return before continuing.
LI supports full editing keys when reading more than one character. The
supported keys are as follows:
[HOME] - Jump to beginning of line.
[END] - Jump to end of line.
[->] - Move cursor right one character.
[<-] - Move cursor left one character.
[DEL] - Delete character under cursor.
[BKSP] - Delete from cursor to end of line.
[INS] - Insert blank space at cursor.
MAKE MACRO (MM)
~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Create a macro of often used commands.
Syntax: MM<n>
Example: MM5
Parameters: <n> Number of macro to create. May be from 0 to 999.
MM creates a macro file in the temporary directory that contains all the
commands listed between MM and the next EM (END MACRO). The macro file
can be used later by using the UM (USE MACRO) command. By using macros,
the time needed to transmit a complex image can be reduced. Any commands
that are to be repeated should be placed in a macro and called with the UM
command when needed. Commands placed within MM and EM are not executed
until called with UM. MM is for use with GETSFly only. For GETSLaunch,
use the SEND FILE and READ FILE commands. For more information on macros,
see END MACRO and USE MACRO. All macros will be deleted when you exit from
GETS to DOS, there is no need to delete them manually.
OPEN DIALOG BOX (OD)
~~~~~~~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Pop up a dialog box with a one line message.
Syntax: OD[message]
Example: ODThis is a dialog box!
Parameters: [message] A one line message to display in a dialog box.
OD displays a dialog box in the current screen colors that contains the
message [message]. It remains on the screen until the user presses a key.
OPEN WINDOW (OW)
~~~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Open a pop-up window.
Syntax: OW<x1>|<y1>|<x2>|<y2>|<c1>|<c2>
Example: OW5|5|75|20|15|4
Parameters: <x1> Upper left X coordinate.
<y1> Upper left Y coordinate.
<x2> Lower right X coordinate.
<y2> Lower right Y coordinate.
<c1> Foreground color of window.
<c2> Background color of window.
OW opens a pop-up window that may later be removed by the CW command. Only
one window may be open at a time. If two are opened, only the last one
created may be closed. OW uses more than one display page to operate, so
any hidden pages may be destroyed. The current screen colors will be set
to match <c1> and <c2> of the window.
PAGE COPY (PC)
~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Copy one display page to another.
Syntax: PC<s>|<t>
Example: PC1|0
Parameters: <s> Source page to copy from.
<t> Target page to copy to.
PC copies an entire display page to another page. Useful for flicker
free animation.
PASTE IMAGE (PI)
~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Paste a cut image back to the screen.
Syntax: PI<x1>|<y1>|<c>|[mode]
Example: PI50|75|1|PSET
Parameters: <x1> Upper left X coordinate.
<y1> Upper left Y coordinate.
<c> Clipboard to paste from.
[mode] Mode to use when pasting image. See below.
PI pastes an image that was copied with COPY IMAGE back to the screen.
Be sure that all four edges of a copied image block fit within the screen
when they are pasted back or PASTE IMAGE will not work. <c> determines
which clipboard the image will be pasted from. Valid values for <c> are
from 0 to 9, inclusive. Valid pasting modes are:
PSET - Overwrites existing image with pasted image.
PRESET - Overwrites existing image with a negated pasted image.
AND - Merges image using a logical AND operation. Pixels that
are the same color in both the pasted image and the
existing image remain the same, the rest do not.
OR - Merges image using a logical OR operation. Pasted image
is superimposed with existing image.
XOR - Inverts existing image wherever a pixel exists in pasted
image. Two XOR pastes in the same location will return
the background to its original state. Repeated XORs can
be used for animation.
After pasting an image back to the screen, it is a good idea to release the
memory the image occupied on the clipboard by using the CLEAR CLIPBOARD
command to remove the current image from the clipboard.
PLAY ADLIB (PA)
~~~~~~~~~~~~~~~~
Group: DUAL MODE, EXTERNAL
Use: Play an FM music file to an AdLib compatible sound card.
Syntax: PA[filename]
Example: PAtitlesng
Parameters: [filename] The filename of the song to play. No extension.
PA plays an FM sound file (see the appendix on sound for file format) to
any AdLib compatible sound card (AdLib, Sound Blaster, Sound Master II).
PLAY ADLIB is an external command and is not available in unregistered
versions of GETS. See CALL DOS for more information on external commands.
PLAY DIGITAL (PD)
~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, EXTERNAL
Use: Play an 8 bit digitized sound file.
Syntax: PD[filename]
Example: PDbombs
Parameters: [filename] Filename of the file to play. No extension.
PD will play an 8 bit digital sound file (see the appendix on sound for
file format) to any supported sound device (all Covox, Sound Blaster,
internal speaker). PLAY DIGITAL is an external command and is not
available in unregistered versions of GETS. See CALL DOS for more
information on external commands.
PLAY MUSIC (PM)
~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Play music or sound on the internal speaker.
Syntax: PM[command]
Example: PMmbcd>ef<g
Parameters: [command] is a GWBASIC compatible PLAY command. See below.
PM plays [command] on the internal speaker. Options inside of [command]
are as follows:
On - Sets current octave to n. Values for n are 0 to 6.
> - Increase octave by one. Cannot be greater than 6.
< - Decrease octave by one. Cannot be lower than 0.
A-G - Plays notes A to G. Placing a - behind a note makes it a flat.
Placing a + or a # behind a note makes it a sharp. If a period
(".") is behind the note, it will be played for one and a half
times the length determined by length*tempo. Multiple periods
may be used.
Nn - Plays note n. Values for n are from 0 to 84. An n of 0
determines a rest.
Ln - Set length of notes. Range is 1 to 64 (L1 = Whole note, etc).
You may follow a note with a length if you wish only that note
to be played at a different length (i.e. B64 = L64B).
MN - Music Normal. Notes play for 7/8 time of length.
ML - Music Legato. Notes play full time of length.
MS - Music Staccato. Notes play for 3/4 time of length.
Pn - Pause for n where n is a value of 1 to 64 (P1 = Whole pause).
Tn - Set tempo or number of quarter (L4) notes per minute. Values
for n are 32 to 255. Default is 120.
MF - Music Foreground. Music plays in foreground and pauses the
GETScript until finished.
MB - Music Background. Music plays while GETScript continues to run.
A maximum of 32 notes may be placed into the background music
buffer at one time.
PLAY SOUND (PS)
~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Play a sound by frequency instead of by note.
Syntax: PS<f>|<d>
Example: PS2000|10
Parameters: <f> Frequency of sound in Hertz.
<d> Duration of sound in clock ticks.
PS will play a sound at <f> hertz for <d> clock ticks. There are 18.2
clock ticks per second. Legal values for <f> are 37 to 32767 inclusive.
Legal values for <d> are 0 to 65535 inclusive.
POINT (PT)
~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Plot a single point on the graphics screen.
Syntax: PT<x>|<y>
Example: PT5|12
Parameters: <x> X coordinate of point.
<y> Y coordinate of point.
PT plots a single point on the graphics screen in the current color.
PRINT (PR)
~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Display text on the screen.
Syntax: PR[message]
Example: PRLook at this!
Parameters: [message] Message to display on the screen.
PR displays a message on the screen at the current cursor location. The
message is printed to the screen without a carriage return. To move the
cursor to the next line after printing a message, use the CARRIAGE RETURN
command. To reposition the text cursor, see XY CURSOR MOVE.
READ FILE (RF)
~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Call a GETScript or GETS Clip Art file from disk.
Syntax: RF[filename].[ext]
Example: RFclipart.gca
Parameters: [filename].[ext] Filename to use, including extension.
RF transfers control to another GETScript or GETS Clip Art file from the
current GETScript. The file must exist in the current directory on the
remote user's drive. When the called file ends, control is passed back
to the calling file at the point it left off. If a called file ends with
an EXIT GETS MODE command, it will not return to the calling file and all
running GETScripts will end.
SEND FILE (SF)
~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Send a GETScript or text file to a remote computer.
Syntax: SF[filename].[ext]
Example: SFclipart.gca
Parameters: [filename].[ext] The file being sent, including extension.
SF will transmit a GETScript or any ASCII text file to a remote computer.
Because SF requires interactive communication between GETS and the remote
program, it is not available in GETSFly mode.
SET MODE (SM)
~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Change screen modes.
Syntax: SM<x>
Example: SM9
Parameters: <x> Mode to change to. See below.
SM changes the current screen display mode to any of several graphics and
text modes available. The modes used are compatible with GWBASIC's SCREEN
syntax. Modes are as follows:
0 - Text Only; 16 of 16 colors; 80x50 maximum text display size;
Maximum of 8 screen pages
1 - Text/Graphics; 4 of 16 colors; 320x200 graphics resolution; 40x25
text display size; 1 screen page
2 - Text/Graphics; 2 of 2 colors; 640x200 graphics resolution; 80x25
text display size; 1 screen page
3 - Hercules Monochrome Text/Graphics; 2 of 2 colors; 720x348
graphics resolution; 80x25 text display size; 2 screen pages
4 - Olivetti and AT&T; 1 of 16 colors; 640x400 graphics
resolution; 80x25 text display size; 1 screen page
5 & 6 - Unused - Reserved.
7 - Text/Graphics; 16 of 64 colors; 320x200 graphics resolution;
40x25 text display size; 4 screen pages
8 - Text/Graphics; 16 of 64 colors; 640x200 graphics resolution;
80x25 text display size; 2 screen pages
9 - Text/Graphics; 16 of 64 colors; 640x350 graphics resolution;
80x43 maximum text display size; 2 screen pages
10 - Text/Graphics (monochrome only); 4 of 9 colors; 640x350 graphics
resolution; 80x43 maximum text display size; 2 pages
11 - Text/Graphics; 2 of 256 colors; 640x480 graphics resolution;
80x60 maximum text display size; 1 screen page
12 - Text/Graphics; 16 of 256 colors; 640x480 graphics resolution;
80x60 maximum text display size; 1 screen page
13 - Text/Graphics; 256 of 256 colors; 320x200 graphics resolution;
40x25 text display size; 1 screen page
SET OFFSET (SO)
~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Set offset used by graphics commands.
Syntax: SO<x>|<y>
Example: SO25|25
Parameters: <x> Offset value for X coordinates.
<y> Offset value for Y coordinates.
SO changes the offset of the graphics image from the upper left hand corner
of the monitor to anywhere else on the screen. For example, SO10|25 would
place a point intended for 0,0 at 10,25 on the screen. By changing the
offset, an entire image, or sections of an image, can be moved around the
screen without reprogramming the coordinates that make up the image.
Positive numbers move the image down and right, negative numbers move the
image up and left. Default is SO0|0.
SET PALETTE (SP)
~~~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Define a color palette.
Syntax: SP<c>|<a>
Example: SP15|12312
Parameters: <c> The color to set.
<a> The attribute to set color <c> to.
Use SP to define a custom palette. Due to the way graphics are stored in
video RAM, it is possible to have more colors than you can use at one time.
For example, use SP to define which 256 of the several thousand colors
available in VGA that you wish to use. See the appendix on color for more
information.
SET SCALE (SS)
~~~~~~~~~~~~~~~
Group: GRAPHICS MODE, INTERNAL
Use: Set scale used by graphics commands.
Syntax: SS<x>|<y>
Example: SS2.25|2.5
Parameters: <x> Scale value for X coordinates.
<y> Scale value for Y coordinates.
SS scales the entire graphics display by a factor of <x> horizontally and
<y> vertically. For example, a 320x200 (actual, unscaled) screen set to
SS2|2 (x and y set to 2) has a coordinate range of only 160x100. SS is
useful when scaling low-resolution images (320x200) to fit a high-
resolution screen (640x350). To make a low-res EGA screen fill a high-res
EGA screen, a scale of SS2|1.75 would be used. To shrink a screen in half,
a scale of SS.5|.5 is used. Negative numbers will invert the coordinate
system used (not useful, but can be done). Default is SS1|1.
SET SCREEN WIDTH (SW)
~~~~~~~~~~~~~~~~~~~~~~
Group: TEXT MODE, INTERNAL
Use: Change current text screen mode.
Syntax: SW<w>|<h>
Example: SW40|25
Parameters: <w> Screen Width.
<h> Screen Height.
SW changes the mode of a text display. SW has no effect in monochrome.
See SET MODE for more information on the limits of <w> and <h>.
SET VIDEO PAGES (SV)
~~~~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Set which page is active and which is visible.
Syntax: SV<a>|<v>
Example: SV1|0
Parameters: <a> Active video page.
<v> Visible video page.
SV is used in conjunction with PAGE COPY to display flicker free animation
and special video effects. The active page is the page being drawn to
while the visible page is the page displayed on the monitor. By drawing on
a different page than is being viewed, a programmer can update animation
without the user seeing it happen until the entire frame is finished.
USE DEFAULTS (UD)
~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Return GETS to the default settings.
Syntax: UD
Example: UD
Parameters: * NONE *
UD will reset GETS to the default settings. The actions performed by the
UD command are:
* Set Screen Mode to 80x25 Text SM0
* Set Colors to White on Black CO7|0
* Set Offset to 0,0 SO0|0
* Set Scale to 1,1 SS1|1
* Set Video Pages to 0,0 SV0|0
* Clears Screen CS
* Places Cursor at 1,1 XY1|1
* Clears all clipboards CC-1
It is a good idea to call UD at the end of all scripts to return GETS to
its original state for the next script.
USE MACRO (UM)
~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Call a macro defined with MM (MAKE MACRO).
Syntax: UM<n>
Example: UM5
Parameters: <n> Number of macro to use. Can be from 0 to 999.
UM calls a macro previously defined with MM (MAKE MACRO). For more
information, see MAKE MACRO and END MACRO.
WAIT FOR KEY (WK)
~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Wait for a keypress.
Syntax: WK[k]
Example: WKc
Parameters: [k] The key to wait for.
WK will pause a GETScript until the specified key is pressed. Use a ~ to
wait for any key to be pressed.
XY CURSOR MOVE (XY)
~~~~~~~~~~~~~~~~~~~~
Group: DUAL MODE, INTERNAL
Use: Move text cursor to a new location on the screen.
Syntax: XY<x>|<y>
Example: XY10|5
Parameters: <x> X coordinate of cursor position.
<y> Y coordinate of cursor position.
XY moves the text cursor to the specified location on the screen. See the
maximum text display sizes under SET MODE for more information on the
limits of <x> and <y>.
APPENDIX A - COLOR
~~~~~~~~~~~~~~~~~~
GETS uses the same method of calling colors as BASIC. The following charts
define the default color values for CGA, EGA, and VGA. Keep in mind that
any of the values below may be changed with the SP (SET PALETTE) command.
TEXT COLORS
~~~~~~~~~~~
See "EGA COLORS" for values. Text can be made to blink by adding
16 to any of the Foreground colors. For example, blinking yellow
would be 14+16, color number 30.
CGA COLORS
~~~~~~~~~~
00 - Black 02 - Light Magenta
01 - Light Cyan 03 - Bright White
EGA COLORS
~~~~~~~~~~
Foreground & Background Foreground Only
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
00 - Black 08 - Dark Grey
01 - Blue 09 - Light Blue
02 - Green 10 - Light Green
03 - Cyan 11 - Light Cyan
04 - Red 12 - Light Red
05 - Magenta 13 - Light Magenta
06 - Brown 14 - Yellow
07 - White (Light Grey) 15 - Bright White
VGA COLORS
~~~~~~~~~~
With 256 colors available at all times, it is much easier to
calculate the values of VGA color than to display it in a
table. To calculate a VGA color, take the amount of RED, GREEN,
and BLUE in the color and run them through the following formula:
COLOR = 65536 * BLUE + 256 * GREEN + RED
The values for RED, BLUE, and GREEN can be anywhere from 0 (not
present) to 63 (maximum present). Because of the way the VGA
color palette is defined, you muse use the above formula to set
all VGA color values with the SP (SET PALETTE) command before
using them.
APPENDIX B - SOUND
~~~~~~~~~~~~~~~~~~
GETS supports many sound cards and output devices from many manufacturers.
For those wishing to produce their own music and sound files for GETS, we
recommend the following:
For Digital Sounds
~~~~~~~~~~~~~~~~~~
* A Sound Blaster Music Card.
* Creative Labs' Voice Editor for the Sound Blaster.
Digital sounds for GETS are stored in Creative Labs' Digital Sound
Format. By using a Sound Blaster with the Voice Editor you ensure
compatibility with the GETS digital sound drivers. Do not use any
sync or repeat commands in your voice files! Sampling rate should
be set to 9708 Hz.
For FM (AdLib) Music
~~~~~~~~~~~~~~~~~~~~
* A Sound Blaster Music Card (Or an AdLib or Sound Master II).
* AdLib's Visual Composer.
* AdLib's Instrument Maker.
* AdLib's Progammer's Guide.
FM music is stored in AdLib's MDI file format. ROL files are NOT
compatible with GETS. Use the ROL2MIDI utility included with the
AdLib Programmer's Guide to convert ROL files to MDI. MDI files
must be less than 32k (32767 bytes or smaller) to fit into the
limited FM sound buffer provided by GETS.
APPENDIX C - CONFIGURATION OPTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To further control the configuration of GETS on your system, you may use
any text editor (such as the DOS command EDLIN.COM) to update the GETS
configuration file GETS.CFG. The options contained within the GETS.CFG
file are:
** <text> A double astrick may be placed at the beginning
of any line in the GETS.CFG file to make it a
comment. Comments are ignored by GETS when the
configuration file is read in. Use them for
making notes within your configuration file.
COM=[x] [x] can be either 1 or 2.
COM determines which COM port to use
when GETS takes control of the modem.
Use the same COM port that you selected
inside your existing terminal software.
Default is 1.
MODEMBUFFER=[x] [x] can be any number from 0 to 32767.
MODEMBUFFER reserves [x] bytes of RAM as a
"cache" for the modem. If GETS seems to
be skipping commands, or it drops some
characters when in terminal mode, increase
the value of MODEMBUFFER. Default is 4096.
FILEBUFFER=[x] [x] can be any number from 0 to 32767.
FILEBUFFER determines the size of the disk
I/O buffer to be used by GETS. The larger
the buffer, the faster disk I/O will run.
If MODEMBUFFER cannot correct "skipping"
problems, try increasing FILEBUFFER. Also
increase FILEBUFFER on slower drives, and
especially with floppy systems.
Default is 2048.
APPENDIX C - CONFIGURATION OPTIONS (cont.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SOUND=<s> <s> is any supported sound device code.
Valid codes for <s> are:
ISP: Internal Speaker.
ADL: AdLib Sound Card.
SB: Sound Blaster.
VM0: Voice Master (Internal, Port 0).
VM1: Voice Master (Internal, Port 1).
VM2: Voice Master (Internal, Port 2).
VM3: Voice Master (Internal, Port 3).
SM: Sound Master (Auto senses Jumpers).
SM0: Sound Master II (Internal, Port 0).
SM1: Sound Master II (Internal, Port 1).
SM2: Sound Master II (Internal, Port 2).
SM3: Sound Master II (Internal, Port 3).
LPT1: Voice Master or Speech Thing on LPT1.
LPT2: Voice Master or Speech Thing on LPT2.
LPT3: Voice Master or Speech Thing on LPT3.
NO: No sound.
This option is for digital sounds only. Any
standard PC music will still be sent through
the internal speaker. Only the NO option has
any effect on non-digital sounds.
Default is ISP.
PREF=<s> <s> can be either COLOR or RESOLUTION. PREF
determines the way that GETS will handle non-
supported screen modes. If your system does
not support the mode GETS is attempting to
use, GETS will pick a new mode based either
on the number of colors available, or by the
maximum resolution. COLOR will make pictures
match more closely to the original color wise,
while RESOLUTION will try to keep the
resolution of the original picture.
Default is COLOR.
DOS=<s> <s> can be either NORMAL or NERVOUS. When GETS
needs to use DOS to access another program, it
can be forced to ask for a confirmation first.
Due to the power of GETS, any DOS command may
be executed from within a GETScript program.
By setting DOS to NERVOUS, GETS will ask your
permission before sending the command to DOS.
This will allow you to watch for commands that
could be dangerous to your hard drive or to
your system. NORMAL will execute any command
that is requested by GETS without prompting
you first. Default is NERVOUS.
APPENDIX C - CONFIGURATION OPTIONS (cont.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TEMP=<s> <s> is any valid DOS pathname with a backslash
("\") at the end. GETS needs to create several
temporary files during its use to keep track of
its internal operations. By setting a TEMP
pathname, you may tell GETS where to store the
files. All temporary files are deleted when
GETS exits normally. Default is current DOS
directory.
CURSOR=<s> <s> is either UNDERLINE or BLOCK. GETS can
display either a blinking underline or a
blinking block for a cursor. On laptops,
set CURSOR to BLOCK. Default is UNDERLINE.
SCROLLBACK=[x] [x] is any number from 0 to 32767. The value
of [x] determines how many lines of scrollback
will be remembered by GETS while online.
Default is 0.
REGCODE=<s> <s> is either your registration code or the
word NONE. By entering your registration code
into the configuration file, you will remove
the annoying pop-up window requesting that
you register and you will be able to use
external command programs such as digitized
sound and AdLib music. Default is NONE.
NAME=<s> <s> is the name of the user who this copy of
GETS is registered to. Real names only! Be
sure that the name used here is EXACTLY the
same as the name used when registering GETS.
APPENDIX D - GETS HISTORY
~~~~~~~~~~~~~~~~~~~~~~~~~
BETA Releases - Testing purposes only.
Various versions.
Preview Disk - Initial release.
1.0 - File I/O improved.
FP, HP, and LN commands improved.
PARSE routine greatly enhanced.
File Exist routine improved.
RL command replaced with improved LN.
1.5 - GETSFly mode fixed.
File Exist bug fixed.
Missing line feeds bug fixed.
Improved modem I/O.
Cursor switch bug fixed.
GETSPrep added to package.
APPENDIX E - REGISTRATION
~~~~~~~~~~~~~~~~~~~~~~~~~
Thank-you for trying GETS!
Registration of GETS is only $25.00 (U.S. funds drawn on a U.S. bank only
please). When registering GETS, be sure to include your real name spelled
EXACTLY as it was when it was entered into GETS during setup. If the names
do not match, your registration code will not work. Send check or money
orders only - DO NOT SEND CASH THROUGH THE MAIL.
By registering GETS, you will receive a copy of the latest version of GETS
on diskette, along with a registration code that will eliminate the annoying
registration window and unlock the external commands such as digital sound
and AdLib music.
GETS has taken countless hours of hard work to complete. Please do not
abuse our efforts by not paying for it.
The file REGISTER.DOC contains a copy of our registration form. Complete
the form and return it to us along with $25.00 for registration of GETS.
Please pass unregistered, unmodified copies of GETS along to other users.